// 引入Sequelize模块
const Sequelize = require('sequelize');
// 引入cate表model
const CateModel = require('./cate');
// 引入数据库实例
const db = require('../db');
// 定义model
const Article = db.define('Article',
  {
    // 主键
    id: {
      type: Sequelize.INTEGER,
      primaryKey: true,
      allowNull: false,
      autoIncrement: true
    },
    // 文章标题
    title: {
      type: Sequelize.STRING(60),
      allowNull: false
    },
    // 摘要
    desc: {
      type: Sequelize.STRING,
      allowNull: false
    },
    // 内容
    content: {
      type: Sequelize.TEXT,
      allowNull: false
    },
    // 所属分类
    cate: {
      type: Sequelize.INTEGER,
      allowNull: false
    }
  },
  {
    // 是否支持驼峰
    underscored: true,
    // mysql数据库表名
    tableName: 'article'
  }
);

// 导出model
module.exports = Article;
// 文章所属于分类，一个分类包含多个文章，将文章表和分类表进行关联
Article.belongsTo(CateModel, {foreignKey: 'cate', constraints: false});